Rate control is used to regulate the bitrate of an encoded video stream. When rate control is applied in an encoder, a quantization parameter is adjusted to meet a target bitrate. Rate control can be roughly separated into the following two categories: constant bit rate (CBR); and variable bit rate (VBR). In a network application, although CBR can greatly simplify network operation, CBR is less efficient than VBR and significantly comprises video quality, especially at low bitrates for high motion content. VBR can be seen as the “natural” representation for video, given that each individual frame will have a different level of complexity and, thus, requires a different number of bits to be compressed with the same decoded quality.
VBR coding has been considered to provide better quality than CBR coding, but pure or unconstrained VBR is not used in practice. One reason is because typical transmission environments may not allow arbitrary variations in transmission rate. Thus, the encoder needs to produce a VBR bitstream which can meet certain constraints.
When VBR is used in practice, the general constraints applied to the bitrate allocation are the average bitrate of the entire sequence or the total bitrate for particular intervals of frames. However, when VBR transmission is used in a network that is video-aware with respect to a video prioritized structure and/or scalable structure, or in addition, which allows video-aware packet-level multiplexing or switching, new VBR constraints are needed to take advantage of such a network, so that the best possible quality can be achieved.